home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / toolchest.z / toolchest
Text File  |  1998-10-20  |  33KB  |  661 lines

  1.  
  2.  
  3.  
  4. TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))                                                    TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      toolchest - utility menu program
  10.  
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      ttttoooooooollllcccchhhheeeesssstttt [----hhhhoooorrrriiiizzzzoooonnnnttttaaaallll | ----vvvveeeerrrrttttiiiiccccaaaallll | ----iiiiccccoooonnnn] [----ddddeeeeccccaaaallll | ----nnnnooooddddeeeeccccaaaallll]
  14.        [----hhhhiiiiddddeeeettttiiiittttlllleeee | ----sssshhhhoooowwwwttttiiiittttlllleeee] [----ttttiiiittttlllleeee _t_i_t_l_e] [_m_e_n_u_d_e_s_c_r_1 [..._m_e_n_u_d_e_s_c_r_n]]
  15.  
  16. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  17.      The _t_o_o_l_c_h_e_s_t program displays a list of buttons, each of which can
  18.      invoke a useful command or present a submenu of additional buttons.  The
  19.      standard set of menu buttons in the IRIX Interactive Desktop toolchest is
  20.      Desktop, Selected, Find, System, and Help.  Each menu provides lists of
  21.      useful commands for running top-level window management programs (in
  22.      conjunction with _4_D_w_m), desk utilities, search utilities, system
  23.      administration functions, or documentation-displaying programs.
  24.  
  25.  
  26.    OOOOppppttttiiiioooonnnnssss
  27.      ----hhhhoooorrrriiiizzzzoooonnnnttttaaaallll
  28.              This option specifies that the toolchest should display the top
  29.              level horizontally, rather than vertically.
  30.  
  31.      ----vvvveeeerrrrttttiiiiccccaaaallll
  32.              This option specifies that the toolchest should display the top
  33.              level vertically.  This is the default, but the option can be
  34.              used to override saved resources.
  35.  
  36.      ----iiiiccccoooonnnn   This option specifies that only an icon should be displayed when
  37.              the toolchest is not in use, rather than displaying the top level
  38.              of the toolchest.  This option provides for display of the top
  39.              level vertically only.
  40.  
  41.      ----ddddeeeeccccaaaallll  This option specifies that the toolchest should display decals.
  42.              For a vertical toolchest, a decal is displayed on each top level
  43.              button that contains a menu.  For a horizontal toolchest, one
  44.              decal is displayed to the left of the toolchest.  For an icon
  45.              toolchest, no decals are ever displayed.  This option is on by
  46.              default.
  47.  
  48.      ----nnnnooooddddeeeeccccaaaallll
  49.              This option specifies that the toolchest should not display
  50.              decals.
  51.  
  52.      ----hhhhiiiiddddeeeettttiiiittttlllleeee
  53.              This option eliminates the title bar of the toolchest.  This was
  54.              the default in earlier releases but with the availability of
  55.              desks, the titlebar is enabled by default and shows the name of
  56.              the current desk.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))                                                    TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))
  71.  
  72.  
  73.  
  74.      ----sssshhhhoooowwwwttttiiiittttlllleeee
  75.              This option shows the titlebar of the toolchest.  This option is
  76.              on by default.
  77.  
  78.      ----ttttiiiittttlllleeee  This option sets the title in the toolchest.  If it is not set,
  79.              the name "Toolchest" is used.
  80.  
  81.      Users can change which buttons and/or menus are displayed by the
  82.      toolchest program, as well as the command lines which will be launched by
  83.      button selections.
  84.  
  85.      The toolchest program reads a description of its buttons and menus from a
  86.      menu description file when the program starts.  The standard menu set is
  87.      described by the system toolchest file /_u_s_r/_l_i_b/_X_1_1/_s_y_s_t_e_m._c_h_e_s_t_r_c, but
  88.      users can customize their toolchest menu by providing either an auxiliary
  89.      toolchest file named ._a_u_x_c_h_e_s_t_r_c or a user-customized toolchest file
  90.      named ._c_h_e_s_t_r_c in their home directory.  The system toolchest file
  91.      includes the auxiliary file, and thus adds its contents to the default
  92.      system menu, while the user-customized toolchest file overrides the
  93.      system toolchest file.  It is suggested that the auxiliary toolchest file
  94.      be used for customization if possible, as future changes to the system
  95.      toolchest will then be incorporated automatically.  If a user-customized
  96.      toolchest file is to be used, it is suggested that the system toolchest
  97.      file be copied to $_H_O_M_E/._c_h_e_s_t_r_c as a starting point and then the user
  98.      can modify the ._c_h_e_s_t_r_c file.  See the comments below on the _i_n_c_l_u_d_e and
  99.      _s_i_n_c_l_u_d_e keywords for a discussion of how to set up an include file.
  100.  
  101.      In addition to including the auxiliary toolchest file, the system
  102.      toolchest file will also include all files ending with ._c_h_e_s_t in the
  103.      directory /_u_s_r/_l_i_b/_X_1_1/_a_p_p-_c_h_e_s_t_s.
  104.  
  105.      Remote toolchests launched via /usr/sbin/accessworkstation or from the
  106.      Toolchest>Desktop>AccessFiles>(As Another User/By Remote Login) use the
  107.      resource file /_u_s_r/_l_i_b/_X_1_1/_r_e_m_o_t_e._c_h_e_s_t_r_c to show a limited number of
  108.      menu choices.
  109.  
  110.      Invoking toolchest with no arguments causes the user or system menu
  111.      description file to be read.  When one or more file names are specified
  112.      to toolchest, the menu set is completely described by the list of files.
  113.      Instead of files, directory names may also be specified, in which case
  114.      all files in that directory that end with ._c_h_e_s_t are included, in
  115.      alphabetical order.  Specifying command line arguments is most useful in
  116.      designing the menu layout; once this has been done, the user can
  117.      concatenate the files named on the command line into a single file, name
  118.      it ._a_u_x_c_h_e_s_t_r_c and put it in their home directory.
  119.  
  120.      The menu tree is always rooted at a menu named "ToolChest"; thus the MMMMeeeennnnuuuu
  121.      TTTToooooooollllCCCChhhheeeesssstttt {{{{ ... }}}} must be provided somewhere in the toolchest
  122.      description. For example, if a menu named "Tools" with menu items "Jot"
  123.      and "Gmemusage" needs to be added to the toolchest, the following should
  124.      go in ._a_u_x_c_h_e_s_t_r_c :
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))                                                    TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))
  137.  
  138.  
  139.  
  140.      Menu Tools
  141.      {
  142.          no-label    f.separator
  143.          "Jot"       f.checkexec.sh.le "/usr/sbin/jot"
  144.          "Gmemusage" f.checkexec.sh.le "/usr/sbin/gmemusage"
  145.      }
  146.  
  147.      MMMMeeeennnnuuuu TTTToooooooollllCCCChhhheeeesssstttt
  148.  
  149.      {
  150.           no-label     f.separator
  151.          "Tools"       f.menu Tools
  152.      }
  153.  
  154.  
  155.      Toolchest buttons and menus may be operated with either left or right
  156.      mouse buttons (mouse buttons 1 or 3).
  157.  
  158.      The default shell to run the commands is determined in the same way as is
  159.      used by _m_w_m and _4_D_w_m.  If the environment $$$$MMMMWWWWMMMMSSSSHHHHEEEELLLLLLLL is defined, toolchest
  160.      uses that.  Otherwise, if the $$$$SSSSHHHHEEEELLLLLLLL is defined, it uses that.
  161.      Otherwise, it uses /_b_i_n/_s_h.  In the interests of performance, however,
  162.      alternate "shell" versions of the execute commands are provided that
  163.      force the use of /_b_i_n/_s_h regardless of the shell specified through the
  164.      environment.  Since /_b_i_n/_s_h is faster than some other shells, this can
  165.      speed up launching commands.  These alternate forms, used in the system
  166.      toolchest, are described below, and are highly recommended unless you
  167.      have commands that are shell specific.
  168.  
  169.    RRRReeeessssoooouuuurrrrcccceeeessss
  170.      "Toolchest" is the resource class name for toolchest.  "toolchest" is the
  171.      resource instance name for toolchest and takes precedence over
  172.      "Toolchest" when used to specify resources.  However, for historical
  173.      reasons, when invoked at system startup (from the _X_s_e_s_s_i_o_n file),
  174.      toolchest is invoked with the ----nnnnaaaammmmeeee TTTToooooooollllCCCChhhheeeesssstttt option.  This causes it to
  175.      have an instance name of "ToolChest" instead of "toolchest".
  176.  
  177.      The syntax for specifying the resources is
  178.  
  179.               TTTToooooooollllcccchhhheeeesssstttt****_r_e_s_o_u_r_c_e__i_d: _v_a_l_u_e
  180.  
  181.      where _r_e_s_o_u_r_c_e__i_d can be any of the following:
  182.  
  183.  
  184.      iiiiccccoooonnnn    If this resource is true then only an icon should be displayed
  185.              when the toolchest is not in use, rather than displaying the top
  186.              level of the toolchest.  This provides for display of the top
  187.              level vertically only.
  188.  
  189.      hhhhoooorrrriiiizzzzoooonnnnttttaaaallll
  190.              If this resource is true then the toolchest should display the
  191.              top level horizontally, rather than vertically.  This resource
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))                                                    TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))
  203.  
  204.  
  205.  
  206.              may be changed from the Windows customization panel _w_i_n_d_o_w_s.
  207.  
  208.      sssshhhhoooowwwwDDDDeeeeccccaaaallll
  209.              If this resource is true, then decals are shown on the toolchest.
  210.              Since this resource defaults to true, decals can be turned off by
  211.              setting it to false.
  212.  
  213.      hhhhiiiiddddeeeeTTTTiiiittttlllleeee
  214.              This option eliminates the title bar of the toolchest.  This was
  215.              the default in earlier releases but with the availability of
  216.              desks, the titlebar is enabled by default and shows the name of
  217.              the current desk.
  218.  
  219.      ddddeeeeccccaaaallllFFFFoooorrrreeeeggggrrrroooouuuunnnndddd
  220.              This resource specifies the foreground color of the decals.
  221.  
  222.      aaaauuuuddddiiiiooooFFFFeeeeeeeeddddbbbbaaaacccckkkk
  223.              If set to TRUE, the toolchest gives audio cues when launching
  224.              applications.  This resource is normally changed from the Desktop
  225.              customization panel _d_e_s_k_t_o_p.
  226.  
  227.      mmmmeeeennnnuuuuVVVViiiissssuuuuaaaallllTTTTyyyyppppeeee
  228.              This resource controls the visual in which the menus appear.
  229.              Possible values are "normal" specifying the normal planes,
  230.              "overlay" specifying overlay planes, and "popup" specifying the
  231.              popup planes.  On hardware supporting only popup planes,
  232.              specifying "overlay" results in popup planes.  If the requested
  233.              visual type is not supported by the hardware, a warning is issued
  234.              and a default type is used.  The default is to use the popup
  235.              planes.  Use of the popup planes avoids interfering with other
  236.              applications on the screen, but provides only three colors; the
  237.              bottom shadow color may be different than the color that would be
  238.              allocated in the normal planes.  To have the full ability to
  239.              choose colors, set this resource to "normal".
  240.  
  241.      mmmmeeeennnnuuuuVVVViiiissssuuuuaaaallllDDDDeeeepppptttthhhh
  242.              This resource controls the depth of the visual to be used for the
  243.              menus.  The default is to choose an optimum value based on the
  244.              available hardware.  If the hardware does not support the
  245.              requested depth for the requested menuVisualType, a warning is
  246.              issued and a default depth is chosen.
  247.  
  248.      uuuusssseeeeTTTTeeeeaaaarrrrOOOOffffffffssss
  249.              Setting this resource to TRUE will enable Motif tear-off menus.
  250.              With tear-off menus, a dotted line is created at the top of each
  251.              pane.  Clicking on the dotted line will tear off the menu pane,
  252.              and give it window manager borders.  The pane will remain posted
  253.              until dismissed.  If this option is used while the menus are in
  254.              the popup or overlay planes, the colors of the menu will change
  255.              whenever any other application uses the same planes.  Thus if
  256.              this option is used, it is a good idea to put the menus in the
  257.              normal planes by setting menuVisualType to normal and
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))                                                    TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))
  269.  
  270.  
  271.  
  272.              menuVisualDepth to 0.
  273.  
  274.      Defaults for the above resources as well as for colors and geometry are
  275.      set up in a system wide defaults file.  The file name /_u_s_r/_l_i_b/_X_1_1/_a_p_p-
  276.      _d_e_f_a_u_l_t_s/_T_o_o_l_c_h_e_s_t represents the customary location for this file.  The
  277.      actual location of the system-wide class resource file may depend on
  278.      certain environment variables.  The toolchest should not be resized.  Do
  279.      not set a size with geometry.  The toolchest selects an optimal size
  280.      based on the font.  To get a different sized toolchest, set the
  281.      TTTToooooooollllcccchhhheeeesssstttt****ffffoooonnnnttttLLLLiiiisssstttt:::: to some other font in your resources.  For example, a
  282.      smaller toolchest can be created with:
  283.  
  284.          TTTToooooooollllcccchhhheeeesssstttt****ffffoooonnnnttttLLLLiiiisssstttt::::       ----aaaaddddoooobbbbeeee----hhhheeeellllvvvveeeettttiiiiccccaaaa----bbbboooolllldddd----rrrr----nnnnoooorrrrmmmmaaaallll--------11110000----****
  285.  
  286.  
  287.  
  288. MMMMEEEENNNNUUUU DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN FFFFIIIILLLLEEEE FFFFOOOORRRRMMMMAAAATTTT
  289.      The format for the menu description file is a subset of that described
  290.      for the Motif Window Manager, mwm, with a few extensions.  toolchest
  291.      recognizes the keyword _m_e_n_u and the operators _f._m_e_n_u, _f._t_i_t_l_e, _f._e_x_e_c,
  292.      _f._s_e_p_a_r_a_t_o_r, and _f._l_a_b_e_l. In addition, the new keywords _r_e_m_o_v_e, _i_n_c_l_u_d_e,
  293.      and _s_i_n_c_l_u_d_e and the new operators _f._c_h_e_c_k_e_x_e_c, _f._c_h_e_c_k_e_x_p_r, _f._e_x_e_c._s_h,
  294.      _f._c_h_e_c_k_e_x_e_c._s_h, _f._c_h_e_c_k_e_x_e_c._s_h._l_e, and _f._c_h_e_c_k_e_x_p_r._s_h have been added.
  295.  
  296.    mmmmwwwwmmmm----ccccoooommmmppppaaaattttiiiibbbblllleeee OOOOppppeeeerrrraaaattttoooorrrrssss
  297.      The _m_e_n_u keyword is followed by a menu name field, then by a set of curly
  298.      braces containing one or more menu description lines.  Each such line has
  299.      a label field, an operator field, and may have a target field.
  300.  
  301.      The _f._t_i_t_l_e operator defines a title label to be placed in the menu.
  302.  
  303.      The _f._s_e_p_a_r_a_t_o_r operator causes a horizontal line to be drawn below the
  304.      previous label.
  305.  
  306.      The _f._m_e_n_u operator causes a subsidiary menu to be invoked when its label
  307.      is selected.  The menu may also contain the keyword _d_y_n_a_m_i_c which is used
  308.      internally for several Desktop applications to dynamically update the
  309.      toolchest's contents.  There is currently no publicly available method
  310.      for other applications to take advantage of this capability.
  311.  
  312.      The _f._l_a_b_e_l operator defines a label to be placed in the menu.
  313.  
  314.      The _f._e_x_e_c operator defines a command to be executed behind a command
  315.      button.  If f.exec is used, no validation on the executability will be
  316.      performed.  If a more robust treatment at run-time is desired, refer to
  317.      the extension operators described below.  It is also possible to improve
  318.      performance by using the shell versions of the exec operators, also
  319.      defined below.  Prior to executing the command, toolchest will load the
  320.      environment defined in $HOME/.desktop-<hostname>/desktopenv.  This file
  321.      can be modified by selecting Desktop>Cusomize>Utilities from the
  322.      Toolchest.  Any commands that contain double or single quotes should be
  323.      protected from the shell by preceeding them with a backslash character.
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))                                                    TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))
  335.  
  336.  
  337.  
  338.      For example, if you wish to execute the command
  339.      eeeecccchhhhoooo """"TTTTeeeessssttttiiiinnnngggg tttthhhheeee ttttoooooooollllcccchhhheeeesssstttt""""
  340.      then you would add an entry to the chest's resource file as follows:
  341.      """"TTTTeeeesssstttt""""    ffff....eeeexxxxeeeecccc """"eeeecccchhhhoooo \\\\""""TTTTeeeessssttttiiiinnnngggg tttthhhheeee ttttoooooooollllcccchhhheeeesssstttt\\\\""""""""
  342.  
  343.  
  344.      Unlike in mwm, the same menu may be named twice.  Subsequent references
  345.      to the menu add items to the menu.  The primary purpose of declaring a
  346.      menu twice is to add items to a system menu in a private file.  For
  347.      example, in the auxiliary toolchest file, a user could add a new pane to
  348.      the top level by adding items to the ToolChest menu.
  349.  
  350.    EEEExxxxtttteeeennnnssssiiiioooonnnn KKKKeeeeyyyywwwwoooorrrrddddssss
  351.      Several new keywords have been added.  The _r_e_m_o_v_e keyword removes a
  352.      button from the toolchest.  It is most useful when the user wants to use
  353.      the system toolchest, but doesn't want all the entries in it.  There are
  354.      two formats:
  355.              rrrreeeemmmmoooovvvveeee <name>
  356.      will remove all buttons with the given name <name>, while
  357.              rrrreeeemmmmoooovvvveeee <name> ffffrrrroooommmm <menu_name>
  358.      will remove the button <name> from the specified menu <menu_name>.  The
  359.      latter form is recommended, as it doesn't risk removing the wrong button.
  360.      However, the former form is easier as it doesn't require figuring out the
  361.      menu name.  For example, the Overview button can be removed from the main
  362.      menu either with
  363.              rrrreeeemmmmoooovvvveeee OOOOvvvveeeerrrrvvvviiiieeeewwww ffffrrrroooommmm TTTToooooooollllCCCChhhheeeesssstttt
  364.      or with
  365.              rrrreeeemmmmoooovvvveeee OOOOvvvveeeerrrrvvvviiiieeeewwww
  366.  
  367.      If a button being removed is both preceded and followed by a separator,
  368.      one of the separators is also removed.
  369.  
  370.      The _i_n_c_l_u_d_e and _s_i_n_c_l_u_d_e keywords include a file or directory.  They
  371.      differ only in that _i_n_c_l_u_d_e reports an error if the file or directory is
  372.      not found while _s_i_n_c_l_u_d_e (for conditional include) is silent.  _S_i_n_c_l_u_d_e
  373.      is intended for shared toolchest files that can be individually
  374.      customized by optionally including other files.
  375.  
  376.      If the parameter to _i_n_c_l_u_d_e or _s_i_n_c_l_u_d_e is a directory, all files in the
  377.      directory that end with ._c_h_e_s_t are included in alphabetical order.
  378.  
  379.      Parameters to _i_n_c_l_u_d_e and _s_i_n_c_l_u_d_e may be prefaced with "~/", in which
  380.      case they are looked up in the user's home directory.
  381.  
  382.      The include directives may not appear anywhere in the file; they may only
  383.      appear in places where a menu could be declared.  In particular, they may
  384.      not appear within a menu declaration.
  385.  
  386.      In order for an include file to have any effect, it must add to the
  387.      existing menu hierarchy.  To do this, it must contain at least one
  388.      redeclaration of an already existing menu.  Items in that declaration
  389.      will add to the existing menu.  The declaration may also refer to new
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))                                                    TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))
  401.  
  402.  
  403.  
  404.      menus, also included in the include file.  For example, to add to the top
  405.      level toolchest, redeclare the menu "ToolChest" specifying the new
  406.      contents.  These new contents will be added to the existing "ToolChest"
  407.      menu.  For an sample include file see the sample ._a_u_x_c_h_e_s_t_r_c below.
  408.  
  409.    EEEExxxxtttteeeennnnssssiiiioooonnnn OOOOppppeeeerrrraaaattttoooorrrrssss
  410.      In addition to the mwm-compatible operators, a set of extension operators
  411.      are available.
  412.  
  413.      The _f._c_h_e_c_k_e_x_e_c operator defines a command to be executed behind a
  414.      command button.  When selected, it behaves exactly like _f._e_x_e_c above.
  415.      However, when the toolchest menus are being built, a validation check is
  416.      run.  If the command (the first argument in the command string) begins
  417.      with a rooted path name (begins with "/"), then that path is checked for
  418.      the existence and executability of the file.  If the file does not exist,
  419.      or if it is not executable, then this entry will be grayed out in the
  420.      toolchest.  Thus, the toolchest user will not be able to pick a menu item
  421.      that will fail to execute.  For example,
  422.  
  423.      """"MMMMaaaaggggnnnniiiiffffiiiieeeerrrr"""" ffff....cccchhhheeeecccckkkkeeeexxxxeeeecccc """"////uuuussssrrrr////ssssbbbbiiiinnnn////mmmmaaaagggg""""
  424.  
  425.      insures that /usr/sbin/mag is available to be run.  If it has not been
  426.      installed, for instance, the "Magnifier" item will be grayed out.
  427.  
  428.      The f.checkexpr operator defines a command to be executed behind a
  429.      command button.  When selected, it behaves exactly like f.exec above.
  430.      However, when the toolchest menus are being built, a validation check is
  431.      run.  The f.checkexpr operator takes two double-quote-delimited
  432.      expressions.  The first expression is evaluated when the toolchest menus
  433.      are being built; if this shell command expression fails (returns a non-
  434.      zero status), then this entry will be grayed out in the toolchest.  Since
  435.      an arbitrary shell expression may be provided for this evaluation, a
  436.      large degree of care may be exercised by the button programmer interested
  437.      in protecting users from environmental dependencies which may lie within
  438.      the actual command line itself.  The second expression given to
  439.      f.checkexpr defines the command to be executed when its button is
  440.      selected, just as for f.checkexec and f.exec.  For example, the command
  441.  
  442.      """"FFFFlllliiiipppp LLLLooooggggoooo"""" ffff....cccchhhheeeecccckkkkeeeexxxxpppprrrr """"tttteeeesssstttt ----xxxx ////uuuussssrrrr////ddddeeeemmmmoooossss////bbbbiiiinnnn////fffflllliiiipppp ----aaaa ----rrrr
  443.      ////uuuussssrrrr////ddddeeeemmmmoooossss////ddddaaaattttaaaa////mmmmooooddddeeeellllssss////llllooooggggoooo....bbbbiiiinnnn"""" """"////uuuussssrrrr////ddddeeeemmmmoooossss////bbbbiiiinnnn////fffflllliiiipppp
  444.      ////uuuussssrrrr////ddddeeeemmmmoooossss////ddddaaaattttaaaa////mmmmooooddddeeeellllssss////llllooooggggoooo....bbbbiiiinnnn""""
  445.  
  446.      provides a test expression that insures the executability of the command
  447.      and the readability of the critical data file.  If either of these files
  448.      has been deleted or lacks the required permissions, the "Flip Logo" item
  449.      will be grayed out.
  450.  
  451.      For improved performance, the various forms of f.exec all have shell
  452.      versions of them, made by appending ._s_h to their names (i.e., _f._e_x_e_c._s_h,
  453.      _f._c_h_e_c_k_e_x_e_c._s_h, and _f._c_h_e_c_k_e_x_p_r._s_h). Use of these versions forces the
  454.      command to be run in /_b_i_n/_s_h instead of in $$$$MMMMWWWWMMMMSSSSHHHHEEEELLLLLLLL or $$$$SSSSHHHHEEEELLLLLLLL.  For
  455.      certain shells, /bin/sh is faster.  It is highly recommended that these
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))                                                    TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))
  467.  
  468.  
  469.  
  470.      shell forms be used (the system toolchest uses them).  However, the older
  471.      forms are provided for compatibility with older versions of toolchest.
  472.      Note that if you wish to see the sparkle launch effect when you launch
  473.      from your menus, you need to add ._l_e to the checkexec command. (i.e,
  474.      _f._c_h_e_c_k_e_x_e_c._s_h._l_e).
  475.  
  476.  
  477.    NNNNeeeesssstttteeeedddd MMMMeeeennnnuuuussss
  478.      The name on a _m_e_n_u line can be referenced by a f.menu operator from
  479.      another menu description; this defines a cascading menu relationship.
  480.  
  481.      Top level buttons displayed in the toolchest window are defined in the
  482.      "ToolChest" menu.  Multiple references to the same menu are not
  483.      supported.  Menu names should be unique.  Consider the following
  484.      (partial) definition:
  485.  
  486.           menu ToolChest
  487.           {
  488.               "System"        f.menu system
  489.               no-label        f.separator
  490.               "Windows"       f.menu windows
  491.               no-label        f.separator
  492.               "Tools"         f.menu tools
  493.               no-label        f.separator
  494.               "Demos"         f.menu demos
  495.           }
  496.  
  497.           menu tools
  498.           {
  499.               "Tools"         f.title
  500.               "Shell"         f.checkexec.sh.le "xterm"
  501.               no-label        f.separator
  502.               "Showmap"       f.checkexec.sh.le "/usr/sbin/showmap"
  503.               "Makemap"       f.checkexec.sh "/usr/sbin/makemap"
  504.               "Clocks"        f.menu clocks
  505.           }
  506.  
  507.           menu clocks
  508.           {
  509.               ""                   f.title
  510.               "Square Clock"       f.checkexec.sh.le "/usr/sbin/clock"
  511.               "Analog Clock"       f.exec.sh "xclock"
  512.               "Round Clock"        f.checkexec.sh.le "oclock -bg black -fg \"dark red\""
  513.               "Digital Clock"      f.exec.sh "xclock -digital"
  514.           }
  515.  
  516.           ...
  517.  
  518.  
  519.      Note that the "clocks" menu is cascaded from the "tools" menu, and that
  520.      "tools" is cascaded from the "ToolChest" menu.  So in this case the
  521.      toolchest has the following top level buttons:
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))                                                    TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))
  533.  
  534.  
  535.  
  536.                -----------
  537.                | System  |
  538.                |---------|
  539.                | Windows |
  540.                |---------|
  541.                | Tools   |
  542.                |---------|
  543.                | Demos   |
  544.                -----------
  545.  
  546.  
  547.      and selecting the "Tools" button will pop up a menu that looks something
  548.      like this:
  549.  
  550.                --------------
  551.                |   Tools    |
  552.                |============|
  553.                | Shell      |
  554.                |------------|
  555.                | Showmap    |
  556.                | Makemap    |
  557.                | Clocks  -> |
  558.                --------------
  559.  
  560.  
  561.    SSSSaaaammmmpppplllleeee ....aaaauuuuxxxxcccchhhheeeessssttttrrrrcccc ffffiiiilllleeee
  562.      The following sample ._a_u_x_c_h_e_s_t_r_c file adds a menu of my favorite things
  563.      to the top level.  This menu includes the program _a_t_l_a_n_t_i_s as well as a
  564.      games submenu.
  565.  
  566.           menu ToolChest
  567.           {
  568.               "My Favorite Things" f.menu mystuff
  569.           }
  570.  
  571.           menu mystuff
  572.           {
  573.               "dolphins"        f.exec "/usr/demos/bin/atlantis"
  574.               "Test Program"    f.exec "source ~/.variables;~/testprog"
  575.               "games"           f.menu mygames
  576.           }
  577.  
  578.           menu mygames
  579.           {
  580.               "flight simulator"   f.exec /usr/demos/bin/flight
  581.               "arena"         f.exec /usr/demos/bin/arena
  582.           }
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))                                                    TTTTOOOOOOOOLLLLCCCCHHHHEEEESSSSTTTT((((1111XXXX))))
  599.  
  600.  
  601.  
  602. NOTE
  603.      When the desktop is configured off with ////eeeettttcccc////cccchhhhkkkkccccoooonnnnffffiiiigggg ddddeeeesssskkkkttttoooopppp ooooffffffff, an
  604.      alternate toolchest file called /_u_s_r/_l_i_b/_X_1_1/_n_o_d_e_s_k_t_o_p._c_h_e_s_t_r_c is used;
  605.      it contains fewer entries and functions.
  606.  
  607.      For more information about the entire IRIX Interactive Desktop
  608.      environment, see the IID(1) man page.
  609.  
  610.  
  611. FFFFIIIILLLLEEEESSSS
  612.      /usr/lib/X11/system.chestrc
  613.      ~/.chestrc
  614.      ~/.auxchestrc
  615.      /usr/lib/X11/nodesktop.chestrc
  616.      /usr/lib/X11/app-chests/*.chest
  617.      /usr/lib/X11/app-defaults/Toolchest
  618.      /usr/lib/X11/remote.chestrc
  619.  
  620. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  621.      mwm(1X), 4Dwm(1X), desktop(1X), windows(1x), soundscheme(1), IID(1)
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.